#include<stdio.h>
void LargestTow(int a[],int n,int *pfirst,int *psecond)
{
	int i;
	*pfirst=*a;
	*psecond=*(a+1);
	for(i=0;i<n;i++)    //通过遍历确定最大值 
	{
	    if(*(a+i)>*pfirst)
	        *pfirst=*(a+i);
		    	
	}
	for(i=0;i<n;i++)   //通过遍历确定第二大的数值
	{
		if(*(a+i)>*psecond && *(a+i)!=*pfirst)
		    *psecond=*(a+i);  
	}
}
int main()
{
	int i,n;
	int num[1000];
	int first,second;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	    scanf("%d",&num[i]);
	LargestTow(num,n,&first,&second);   // 使用 & 取地址引用
	printf("%d %d\n",first,second);   
	return 0;
 }